package subject;

import observe.Observer;

/**
 * 具体的被观察对象，继承父类
 *
 * @author tengqingya
 * @create 2017-01-17 10:38
 */
public class ConcreteSubject extends Subject {
    private String status;

    public String getStatus() {
        return status;
    }


    public String getSubjectStatus(){
        return this.status;
    }

    @Override
    protected void notifyObserverByChoice() {
        for( Observer o:observerList){
            if(o.getChoiceStatus()>0){
                o.update(this);
            }
        }
    }

    /**
     * 当自身状态发生改变的时候 通知观察者 并将自身的状态传给观察者
     * @param status
     */
    public void setStatus( String status ) {
        this.status = status;
//        notifyObserver();
        notifyObserverByChoice();
    }
}
